Search

[Python 自製教學資源] Python 物件導向中,私有成員繼承的底層原理

  • Share this:

[Python 自製教學資源] Python 物件導向中,私有成員繼承的底層原理

網址: https://youtu.be/oMhCsWqXJnE

嗯...其實這份資源我本來沒有打算公開給粉絲知道的...不是我小氣,我是怕這份資料太冷門了。加上問題的回答非常針對同學自己寫的程式碼,考慮到普遍性不高,所以才會想是否只給那位同學看就好。

後來想到,這個粉絲頁應該也有不少高手,把這份資料公開,說不定有人會指出我講錯的地方,那不是更好嗎?所以就「忝不知恥」(笑)地公開了。野人獻曝、班門弄斧的地方,還請大家多指教。

想看懂這份影片,您得先熟習 (1) 一般的 Python 語法 (2) Python 物件導向語法 (3) 知道什麼是私有成員,再看這份影片比較有感覺。不過您若有一兩樣不熟,也歡迎看看啦~說不定您也會有所得喔!

其實 Python 做到「私有成員」方法很簡單,就是把原來加雙底線的 Python 私有成員(任何在 Python 物件內加上雙底線開頭的成員名稱,都會被自動視為私有成員。這跟 C++ 或 Java 得冠上 private 關鍵字的作法有點不同),冠上「_類別名稱」的前綴字(prefix)。如:class C1 類別內,有個私有成員叫做 __age,它底層的真正名稱,就叫「_C1__age」。這樣其它人想要存取,由於類別名稱的不同,就抓不到該私有成員。但是若懂底層原理,硬抓 _C1__age 這個名字還是抓得到的(胡適懂物件導向的話,大概會說出:「私有都不私有了」XD -- 梗:『老子都不老子了』)。

第一次公開比較進階的教學材料,有點忐忑不安。不知道這樣的資料大家會不會覺得太深、不應該出現在這個粉絲頁河道呢?喜歡的話,還請大家多多按讚鼓勵、分享給您的 FB 朋友、或者在下方留言討論喔!祝福大家有愉快的一天!


Tags:

About author
not provided
由紀老師每天瀏覽 500+ 國內外「程式設計」文章後,挑出真正有用的文章,分享在此!堅持不貼「問安文」與「生活照」的園地(笑)。
View all posts